home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MandelMountains V2.0 by Mathias Ortmann
-
-
- Discover the Mandelbrot and Julia Sets From a Completely New Point of View!
-
-
- MandelMountains gives you the ability to render wonderful three-dimensional
- images of close-ups of the Mandelbrot and - in V2.0! - also Julia sets.
- The well-known color strips of the usual Mandelbrot images become at once
- mountainsides that smoothly climb to high plateaus, leaving deep valleys
- between them.
-
- You may have already seen images of this type (e.g. on the covers of the
- books "The Beauty of Fractals - Images of Complex Dynamical Systems" by
- H.-O. Peitgen and P.H. Richter or "The Science of Fractal Images", edited
- by H.-O. Peitgen and D. Saupe) - here and now you have the tool to create
- them on your own! MandelMountains allows you to produce high-quality
- non-interlaced or interlaced (and even overscan) images of arbitrary areas
- of the Mandelbrot/Julia sets. You can easily define magnification windows
- to zoom deeper and deeper into this fascinating world.
-
- Since the development of this program took a lot of time and work, I
- release it as shareware. This means that if you like and use this program,
- you should become a registered MandelMountains user by sending me a little
- contribution of about $10. This will make it possible to develop subsequent
- versions of this program.
- Suggestions, comments and bug reports are welcome, too.
-
- This is my address:
-
- Mathias Ortmann
- Strindbergstr. 5
- D-8000 Munich 60
-
- WEST GERMANY
-
-
- IMPORTANT! MandelMountains V2.0 requires the following libraries to be in
- your libs:-Directory:
- - mathtrans.library
- - mathieeedoubbas.library
- - mathieeedoubtrans.library
-
-
- This documentation does NOT cover the theory of fractal geometry, complex
- numbers and Mandelbrot/Julia sets. If you never heard anything about these
- things, I recommend to read the books mentioned below.
-
-
- 1. The Rendering Method
-
- The image is rendered from front to back. A virtual horizon line prevents
- hidden areas from being displayed. The brightness of the surface is
- determined by the angle the light falls on it. If the number of iterations
- exceeds a certain (user-defineable) value, the pixel is set in color
- instead of gray, thus remains of the usual color strips are visible on the
- high plateaus, a fact which greatly increases the plasticity of the image.
-
- The iterations are effected in pure, speed-optimized assembler code, using
- the Motorola Fast Floating Point format (FFP), while all other calculations
- occur in double-precision IEEE standard format. This yields acceptable
- calculation times (around 20 minutes to 4 hours) without precision
- problems, even at magnification factors up to 10000.
-
- MandelMountains V2.0 now also supports double precision for the entire
- calculation process, including the main iteration loop. Using this feature
- will almost triple computation times, but there are practically no
- restrictions any more concerning the magnification factor.
- The 1.3 mathieeedoubbas/doubtrans libraries support 68881/68882 math
- coprocessors. Owners of these expensive (but useful!) devices thus should
- always use double-precision mode (since I don't belong to this privileged
- class of people, I couldn't test it, so I can't say if it works, how it
- works and how fast it works, but presumeably it should be even faster than
- FFP single precision mode!).
-
-
- 2. The Display Format
-
- You can choose between three image sizes: Small for quick test
- calculations, Normal for the usual screen size (320x200/320x256) and Full
- for overscan format (352x240/352x282), which I recommend as ideal size.
- MandelMountains supports NTSC and PAL Amigas and recognizes by itself on
- which type of machine it is running. All images are generated in 32 color
- mode: 16 colors for the gray tones and 16 colors for the surface color range.
- Optionally you can enable the interlace mode, which will double the number
- of available colors: You now have 32 gray and 32 color tones, which will
- result in much smoother color ranges. Computation time is not affected by
- using interlace or non-interlace mode.
-
-
- 3. The File Format
-
- MandelMountains writes standard IFF files with an additional "MMD1" chunk
- containing all parameters of the image, so you can load previously
- generated images and make further magnifications. You can load
- MandelMountains files with all available graphics software, but note that
- if the image is saved again, the MMD1 chunk will be destroyed, and you
- cannot load it with MandelMountains any more.
- MandelMountains V2.0 is fully backwards compatible with V1.1, so you
- can load your previously generated images without problems.
-
-
- 4. The Parameters
-
- An image is defined by several parameters. You can see and modify all of
- them in the window MandelMountains opens on the Workbench screen.
-
- The cx/cy values are used only when working in Julia set mode. They are the
- real/imaginary part of the fixed parameter c in the term z = z²+c.
- See below for a detailed description of how to generate images of Julia sets.
-
- In the next two lines, there are the xmin/xmax/ymin/ymax values. They
- determine the rectangular part of the Mandelbrot set that is to be shown in
- the image (xmin/xmax represent the range of the real part, ymin/ymax of the
- imaginary part of c [in Julia set mode: z] in the term z = z²+c).
-
- The Depth value limits the number of iterations. If then the value of z
- has not exceeded a certain maximum, the point will be drawn in black.
- Increasing this value will result in a more detailed rendering of the
- border between color and black, but it will also increase computation time
- if there are larger areas of black. Normally, a Depth of 400 to 1000 is
- sufficient.
-
- Linear/Nonlinear/Super-Nonlinear Transformation: If your mountainsides
- look extremely steep, you should switch to Nonlinear Transformation
- (especially useful for magnifications of the Seahorse Valley!).
- For extreme cases, I added the Super-Nonlinear transformation, which
- is especially useful for magnifications of the western side of the Seahorse
- Valley.
-
- ColorMin: If you wish to have the surface of the plateaus colored (and
- you surely will!), you set ColorMin to the number of iterations from which on
- a pixel is to be drawn in color. Increasing this value will make the colored
- areas smaller. The range of ColorMin is normally from 20 to 300 (set it to 0
- if you wish no coloring).
-
- ColorDiv: This value determines the "step rate" for the surface colors.
- For example: You have a ColorMin of 100 and a ColorDiv of 50. The number
- of iterations for a point is 300. The color of the point is now
- (300-100)/50, i.e. 4. Usually ColorDiv is around 50 to 150. It is not
- very critical, but if you choose it far too low, the colored areas on
- your surface will look rather fragmented. If you choose it too high, they
- will all have more or less the same color.
-
- HZoom: This very important value is the decimal logarithm of the factor
- all heights are multiplied with. If you choose this value too low, the
- whole surface will be flat like a sheet of paper; if you choose it too
- high, you will not see more than some vertical walls. This value is
- probably the most critical and must be chosen carefully. It depends very
- much on the magnification factor (increase it after each magnification) and
- can range from 2 (initial picture) to 30 (blow-ups of details in the
- Seahorse Valley, for example).
- Remember that for nonlinear and super-nonlinear transformation, HZoom
- must be considerably higher than for linear transformation.
-
- HSmooth: Sometimes it may occur that the border of a plateau looks rather
- fragmented. In this case, simply increase the HSmooth value. It can range
- from 0 up to more than 200, depending on the HZoom value you are using, but
- is not very critical. Set it to 50 for normal images.
-
-
- It must be said that you will have to experiment a little to get perfect
- results, but soon you'll get a feeling for these things (look at the sample
- pictures and their parameters).
-
- The 'Parameters' menu of MandelMountains V2.0 contains the submenu 'Suggest'
- which allows you to precalculate two of the above parameters. See below
- for a further description of this feature.
-
-
- 5. The Menus
-
- Project Menu:
-
- Choosing the Load Image or Save Image option will bring up a file requester
- (thanks Justin!) that allows you to choose a file name for the image to
- load/save. Images are compressed before saving.
-
- Start Rendering: This option clears the current screen, brings it to front
- and starts the computation.
-
- Mode: You can select between Mandelbrot and Julia Mode (see below for details
- about Julia sets). (NEW in Version 2.0)
-
- Precision: This submenu allows you to choose either single precision (FFP)
- or double precision (IEEE) mode. (NEW in Version 2.0)
-
-
- Parameters Menu:
-
- Zoom In brings the current screen to front and creates a mouse-directable
- magnification window. Pressing the left mouse button while moving the
- mouse to the right/left changes the size of the window. The right mouse
- button confirms the magnification.
-
- Restore Aspect is useful when you have entered xmin/xmax/ymin/ymax values
- by hand. By restoring the aspect of width and height you ensure that the
- image does not look squeezed.
-
- Suggest is a new feature of MandelMountains V2.0, which I implemented
- to give you a basis for your experiments by generating suggestions for the
- parameters Depth and HZoom.
- After some initial problems, I found a quite adequate way to precalculate the
- HZoom value. The results of the algorithm are surprisingly good - in most
- cases they need not be altered at all and thus will save you a lot of
- experimenting time!
- The algorithm needs some time to compute its result. The percentage
- of completion is shown by a horizontal bar. You can cancel the computation
- by pressing the Escape key, or terminate it at any time by pressing
- <Return>, accepting the current state of evaluation, which in most
- cases is not too far away from the final result.
-
- Screen allows you to choose one of the three standard screen sizes and
- to toggle interlace mode.
-
-
- Color Range Menu:
-
- This menu controls range of surface colors. Different color ranges may
- greatly change the impression of an image, so experiment a little.
- Available as from/to colors are: Black, Blue, Red, Magenta, Green, Cyan,
- Yellow and White. Additionally, you can cycle the colors by pressing F1/F2
- at any time. (NEW in Version 2.0)
-
-
- 6. Julia Sets
-
- Julia sets are generated by varying the initial value of z in the iteration
- formula z = z²+c, leaving c constant for each pixel (Mandelbrot set:
- The parameter c is varied instead of z, and he iteration always starts
- with z = 0).
- There exists an infinite number of Julia sets, all determined by the
- fixed parameter c (displayed in the top line of the parameter block, cx is
- the real, cy the imaginary part of c).
- You can either enter a c value directly by hand, or choose it from a
- position out of the Mandelbrot set. This is done as follows:
- 1. Load an arbitrary MandelMountains image of the area you are interested in.
- 2. Select "Zoom In" from the Parameters Menu.
- 3. Mark the desired point with the TOP LEFT edge of the zoom window and
- press the right mouse button.
- 4. Select "Julia Set" from the Project/Mode Menu. The parameters xmin/ymin,
- representing the selected top left edge, will be copied to the cx/cy
- fields. The other values will be initialized with default values,
- giving the best possible starting environment for most Julia sets.
- Experimenting with this feature, you will discover a fascinating resemblance
- of the Julia sets to the area their parameter c is taken from (e.g. for a
- c value out of the Seahorse Valley, there will be the same seahorse tails
- and eyes as in the Mandelbrot set). Thus the Mandelbrot set can be
- interpreted as a "one-page dictionary" of all existing Julia sets.
- I recommend to choose the c values mainly from the border area of the
- Mandelbrot set, because otherwise the resulting Julia sets will look
- rather boring.
- Certainly, you can zoom into Julia sets exactly like into the Mandelbrot set.
-
-
- 7. When is a Picture Finished?
-
- Normally, you will wait until the screen is filled completely (up to the
- upper edge). In this case, the program stops the computation by itself.
- Sometimes, it may be necessary for aesthetical reasons to interrupt the
- rendering earlier, resulting in a black background of the image. In this
- case, you simply have to click on the STOP Gadget at the right moment
- (Initial.NTSC, Julia1.PAL and Julia2.PAL were generated using this method).
-
-
- Important:
-
- Clicking on the gadget near the depth gadgets of MandelMountain's
- workbench window will make the current screen appear (with correct
- centering if it's an overscan screen), clicking on the screen and then
- pressing the right mouse button will make the screen disappear again.
-
- If you haven't got a true Fast-RAM machine, I recommend to click the screen
- to back during computation. This will save memory cycles for the CPU and
- greatly reduce computation time.
-
-
- Special thanks go to Heinz-Otto Peitgen for publishing the formula that
- smoothes the surface of the Mandelbrot set in such a perfect way! It is
- called Continuous Potential Method for Mandelbrot Set (CPM/M) and can be
- found in chapter 4.2.4 of the book
-
- Heinz-Otto Peitgen/Dietmar Saupe (editors): The Science of Fractal Images
- Springer-Verlag New York Berlin Heidelberg 1988 ISBN 0-387-96608-0
- Springer-Verlag Berlin Heidelberg New York 1988 ISBN 3-540-96608-0
-
-
- If you are looking for an excellent introduction into fractal theory,
- history and mathematical backgrounds of the Mandelbrot and Julia sets,
- including a couple of wonderful color pictures, you should take a look at
-
- H.-O. Peitgen/P.H. Richter:
- The Beauty of Fractals - Images of Complex Dynamical Systems
- Springer-Verlag New York Heidelberg Berlin Tokyo 1986 ISBN 0-387-15851-0
- Springer-Verlag Berlin Heidelberg New York Tokyo 1986 ISBN 3-540-15851-0
-
-
-
-
-
- --------------------------------------------------------------
- PathMaster File Selector
- User Documentation 89-06-26.
- --------------------------------------------------------------
-
- Copyright © 1989 by Justin V. McCormick.
- All Rights Reserved.
-
- The selector is completely dynamic and asynchronous; you may change
- directories, select files, scroll the file list, etc., while the selector
- is scanning a directory.
-
- The three Sort Gadgets (Alpha, Size, and Date) work like switches. For
- instance, if you click on the "Alpha" Sort Gadget, the gadget will remain
- highlighted ("On") when you release the mouse button. The File Selector
- will now alphabetize directories automatically until you turn the Sort
- Gadget "off" by clicking it again, or click on a differnt Sort Gadget.
-
- Clicking the Menu Button activates the FILE or PATH String Gadget,
- allowing you to type in a new file or pathname without having to click
- inside of the string gadgets first. Also, some keyboard shortcuts are
- available:
-
- ESCAPE key - Same as clicking on the "Cancel!" gadget.
- Cursor-Up key - Same as clicking on the Up Arrow gadget.
- Cursor-Down key - Same as clicking on the Down Arrow gadget.
- Shift-RETURN keys - Toggle between FILE and PATH gadget.
-
- Note that if the PATH, FILE, or PATTERN String Gadgets are in use, the
- keyboard shortcuts are disabled.
-
- The selector has a software path length limit of 344 characters. You
- will receive a warning message in the titlebar if you try to exceed this
- limit.
-
-
- The PathMaster name is a trademark of Justin V. McCormick.
-
- PathMaster File Selector source and documentation written by:
-
- Justin V. McCormick.
- Copyright © 1989 by Justin V. McCormick.
- All Rights Reserved.
-
- * --------------------------------------------------------------------- *
- THIS SOFTWARE IS PROVIDED "AS IS".
-
- NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE
- ACCURACY, RELIABILITY, PERFORMANCE, CURRENTNESS, OR OPERATION
- OF THIS SOFTWARE, AND ALL USE IS AT YOUR OWN RISK.
-
- THE ABOVE AUTHOR ASSUMES NO RESPONSIBILITY OR
- LIABILITY WHATSOEVER WITH RESPECT TO YOUR USE OF THIS SOFTWARE.
- * --------------------------------------------------------------------- *
-
-